60 COMMON RH: IF RH=0 THEN SYSTEM
70 CLEAR: ON ERROR GOTO 760
80 SCREEN 0: WIDTH 80: COLOR 14,1,1: KEY OFF: CLS
90 KEY (17) ON: KEY 17, CHR$(0)+CHR$(1): ON KEY (17) GOSUB 680
100 LOCATE 6,22: PRINT"Which technique will you investigate?"
110 PRINT: PRINT TAB(26);"1 ... Simple Centered Message"
120 PRINT: PRINT TAB(26);"2 ... Pop Up from Bottom"
130 PRINT: PRINT TAB(26);"3 ... March In from Side"
140 PRINT: PRINT TAB(26);"4 ... Inside Out Message"
150 PRINT: PRINT TAB(26);"5 ... Appear at Random"
155 PRINT: PRINT TAB(26);"6 ... Return to Main Menu"
160 PRINT: PRINT TAB(22);"Press the <NUMBER> of your selection."
170 A$=INKEY$: IF A$<>"" THEN 170
180 A$=INKEY$: IF A$<"1" OR A$>"6" THEN 180 ELSE X=VAL(A$)
185 IF X = 6 THEN 720
190 CLS: RESTORE: DIM P(80): FOR A=1 TO 3: READ TEXT$: NUM=8+A*2
200 ON X GOSUB 240,280,340,400,470: NEXT A: GOSUB 620: GOTO 70
210 '
220 'Centered Message
230 '
240 LOCATE NUM,40-LEN(TEXT$)/2: PRINT TEXT$: RETURN
250 '
260 'Pop Up from Bottom
270 '
280 B=40-LEN(TEXT$)/2: FOR C=1 TO LEN(TEXT$): A$=MID$(TEXT$,C,1)
290 FOR D=24 TO NUM STEP -1: LOCATE D,B+C: PRINT A$;
300 LOCATE D+1,B+C: PRINT" ";: NEXT D,C: RETURN
310 '
320 'March In from Side
330 '
340 A$=STRING$(40-LEN(TEXT$)/2,32)+TEXT$
350 FOR B=1 TO LEN(A$): LOCATE NUM,1
360 PRINT RIGHT$(A$,B);: NEXT B: RETURN
370 '
380 'Inside Out Messages
390 '
400 FOR B=1 TO LEN(TEXT$)/2: LOCATE NUM,40-B
410 PRINT LEFT$(TEXT$,B);RIGHT$(TEXT$,B);
420 FOR C=1 TO 50: NEXT C,B: LOCATE NUM,40-LEN(TEXT$)/2
430 PRINT TEXT$: RETURN
440 '
450 'Appear at Random
460 '
470 FOR B=1 TO LEN(TEXT$): P(B)=B: NEXT B
480 FOR B=1 TO LEN(TEXT$): C=INT(RND*LEN(TEXT$))+1
490 SWAP P(B),P(C): NEXT B
500 FOR B=1 TO LEN(TEXT$): LOCATE NUM,40-LEN(TEXT$)/2+P(B)
510 PRINT MID$(TEXT$,P(B),1);: FOR C=1 TO 50
520 NEXT C,B: RETURN
530 '
540 'Sample Data
550 '
560 DATA This is the first line of the message
570 DATA H E R E   I S   A N O T H E R   L I N E
580 DATA >>> Some More Stuff <<<
590 '
600 'Pause Subroutine
610 '
620 LOCATE 24,27:PRINT"Press <ANY KEY> to continue";
630 A$=INKEY$:IF A$<>"" THEN 630
640 A$=INPUT$(1):RETURN
650 '
660 'Routine to Trap ESC Key
670 '
680 GOTO 70
690 '
700 'Return to Main Menu
710 '
720 CLS: LOCATE 12,28: PRINT "One moment please...": RUN "menu"
730 '
740 'Error Trap
750 '
760 RESUME NEXT
